package com.ruoyi.system.service.impl;

import java.util.List;

import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.ItEvaluate;
import com.ruoyi.system.mapper.ItEvaluateMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.ItCompanyMapper;
import com.ruoyi.system.domain.ItCompany;
import com.ruoyi.system.service.IItCompanyService;

/**
 * 公司基本信息Service业务层处理
 * 
 * @author ruoyi
 * @date 2022-01-26
 */
@Service
public class ItCompanyServiceImpl implements IItCompanyService 
{
    @Autowired
    private ItCompanyMapper itCompanyMapper;

    @Autowired
    private ItEvaluateMapper itEvaluateMapper;

    /**
     * 查询公司基本信息
     * 
     * @param itId 公司基本信息主键
     * @return 公司基本信息
     */
    @Override
    public ItCompany selectItCompanyByItId(Long itId)
    {
        return itCompanyMapper.selectItCompanyByItId(itId);
    }

    /**
     * 查询公司基本信息列表
     * 
     * @param itCompany 公司基本信息
     * @return 公司基本信息
     */
    @Override
    public List<ItCompany> selectItCompanyList(ItCompany itCompany)
    {
        List<ItCompany> list = itCompanyMapper.selectItCompanyList2(itCompany);
        if(list !=null && list.size()>0){
            for(ItCompany company : list){
                ItEvaluate evaluate = new ItEvaluate();
                evaluate.setCompanyId(company.getItId());
                evaluate.setIsDeleted(0);
                evaluate.setState(1);
                List<ItEvaluate> evaluateList1 = itEvaluateMapper.selectItEvaluateList(evaluate);
                company.setCommentNum(evaluateList1 == null ? 0 : evaluateList1.size());
                evaluate.setState(0);
                evaluate.setRepliedBy(company.getItId());
                List<ItEvaluate> evaluateList2 = itEvaluateMapper.selectItEvaluateList(evaluate);
                company.setSupportNum(evaluateList2 == null ? 0 : evaluateList2.size());
            }
        }
        return list;
    }

    /**
     * 新增公司基本信息
     * 
     * @param itCompany 公司基本信息
     * @return 结果
     */
    @Override
    public int insertItCompany(ItCompany itCompany)
    {
        return itCompanyMapper.insertItCompany(itCompany);
    }

    /**
     * 修改公司基本信息
     * 
     * @param itCompany 公司基本信息
     * @return 结果
     */
    @Override
    public int updateItCompany(ItCompany itCompany)
    {
        return itCompanyMapper.updateItCompany(itCompany);
    }

    /**
     * 批量删除公司基本信息
     * 
     * @param itIds 需要删除的公司基本信息主键
     * @return 结果
     */
    @Override
    public int deleteItCompanyByItIds(String[] itIds)
    {
        return itCompanyMapper.deleteItCompanyByItIds(itIds);
    }

    /**
     * 删除公司基本信息信息
     * 
     * @param itId 公司基本信息主键
     * @return 结果
     */
    @Override
    public int deleteItCompanyByItId(String itId)
    {
        return itCompanyMapper.deleteItCompanyByItId(itId);
    }
}
